/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!		
  \file			helpimpl.h
  \date			Dec 2012
  \author		TNick

  \brief		Contains the definition for HelpImpl class


*//*


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Please read COPYING and README files in root folder
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef __HELPIMPL_INC__
#define __HELPIMPL_INC__
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */

#include	<memtrack.h>
#include	<cpg/actions/editorbase.h>
#include	<QObject>
#include	<ui_help.h>


/*  INCLUDES    ============================================================ */
//
//
//
//
/*  CLASS    --------------------------------------------------------------- */

class	ActionsHost;
class	HelpViewer;
class	QMenu;

/**
*	@brief	
*/
class HelpImpl				: public QObject, public MemTrack	{
	Q_OBJECT
	BBM_TRACK( HelpImpl )
	
	//
	//
	//
	//
	/*  DEFINITIONS    ----------------------------------------------------- */

	/*  DEFINITIONS    ===================================================== */
	//
	//
	//
	//
	/*  DATA    ------------------------------------------------------------ */

private:

	/**
	*	@brief
	*/
	Ui::Help			ui_;


	/**
	*	@brief	the host
	*/
	ActionsHost *		host_;


	/**
	*	@brief	assistant
	*/
	HelpViewer *		vv_;


	/*  DATA    ============================================================ */
	//
	//
	//
	//
	/*  FUNCTIONS    ------------------------------------------------------- */

public:


	/**
	*	@brief	constructor;
	*/
	HelpImpl			( QObject * parent = NULL );


	/**
	*	@brief	destructor;
	*/
	virtual				~HelpImpl		( void );


	/**
	*	@brief	initialisation
	*/
	bool				init			( ActionsHost * host );


	/**
	*	@brief	termination
	*/
	void				end				( void );

	
	/**
	*	@brief	inserts the actions in the menu
	*/
	void				initMenu		( QMenu * menu );


public slots:


	/**
	*	@brief	presents a short message describing the application
	*/
	void    slot_About            	( void );


	/**
	*	@brief	provides access to the help system
	*/
	void    slot_Help            	( void );


	/**
	*	@brief	contextual help for GUI
	*/
	void    slot_HelpCtx            ( void );

	
	/*  FUNCTIONS    ======================================================= */
	//
	//
	//
	//

};	/*	class HelpImpl	*/

/*  CLASS    =============================================================== */
//
//
//
//
#endif // __HELPIMPL_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
